Ars ::'s profile

Menta Toon [WIP]


Character Toon Shading Solution with Stylized Environment
The Environment was based on the concept arts of Tasomachi ​​​​​​​​​​​​​​
卡通渲染角色着色方案与配套场景
场景搭建基于作品《黄昏沉眠街》概念美术
-  持续开发中  -
本项目旨在使用 ShaderLab 开发一款用于表现日系插画风格角色的 uber shader,着色设计思路主要参考自 Mihoyo 在 Unite 2018 上的技术分享(后文简称为“现有方案”),并综合考虑美观性与实用性在其基础上进行了诸多调整。本设计为工作流程性质,除了着色器的设计之外,也对角色模型的处理、纹理制作以及渲染管线进行了相应设计以相互配合呈现更好的视觉表现和更高的可控性。

场景部分,主要基于独立游戏《黄昏沉眠街》的概念美术进行搭建,而建筑物着色也部分参考了该游戏内使用的方案。场景中绝大多数模型均使用 Houdini 程序化搭建,以在短期开发内呈现可用的美术效果。 目前该项目虽基本完成,但仍有诸多可进行改良优化之处,后文中会针对这些地方进行说明,并将在未来持续进行后续开发。
Parameterized Multi-layer Shading
漫反射 - 参数化多层着色​​​​​​​
与现有方案相同,漫反射部分的结果为多层对半兰伯特计算结果不同位置、不同软硬程度的采样叠加所得。有别于现有方案的是,考虑到重映射半兰伯特计算结果所用的 2D Ramp 纹理的制作是额外的一道工序,且在制作过程中不方便实时预览效果,本方案在此基础上直接读取材质中的颜色层阈值和软硬程度参数,并通过计算得到与采样 2D Ramp 纹理相同的结果。
Anisotropic Highlighting with Masks
头发表面 - 遮罩下的多层各向异性高光 ​​​​​​​
与漫反射相似,采样以副切线 (纹理坐标 V 方向) 计算的 Kajiya-Kay 结果获得多层颜色,不同的是此处从低频率到高频率颜色分布为”变亮-变暗-变亮” 以模拟目前较为流行的绘画风格。同时,由于观察到绘画作品中头发整体高光 (天使环) 始终近似处于与头部水平的平面上,本着色器中直接使用世界坐标法线方向替代光照方向计算各向异性以在各种光照角度下都获得令人满意的高光位置。此外,在现有方案的使用纹理扰乱高光形状的基础上,另加一通道作为高光遮罩,以实现高光只出现在每片发片的中央部分。
Procedural Normal Vectors on Face & Custom Shadowmap
面部着色 - 程序化面部法线与额外阴影纹理
面部着色的重点为呈现正确的阴影形状。本项目开发了可依据参数实时自定义面部顶点法线的工具,通过调整两条曲线分别控制横向与纵向的法线走势,并同时查看光照效果。
此外,本项目也开发了基于 Command Buffer 的角色独立阴影功能,暂时专用于产生场景物体投射的面部阴影,以实现避免头发及其他部位对面部生成效果不佳的实时投影。在未来,这项技术将应用于角色全身的自定义高质量阴影。
Procedural Modeling of Environment Assets
场景模型 - 程序化建模快速成型

本项目场景中物体,除树与云彩之外均为使用 Houdini 程序化或半程序化建模,在较短时间内快速搭建大量资源,并可满足在较远距离下观看时表现力尚可。上图展示了本项目中使用最多的两项程序化建模功能:东方风格建筑物生成以及招牌生成。其均为依照输入的基础形状以及一系列参数完全自动化进行建模,并同时展好UV并附加材质ID,可直接通过 Houdini Engine 在 Unity 内使用。
Volume Cloud on a Single Polygon
单面片体积云​​​​​​​
云朵渲染主要参考了虚幻引擎的商城资源 Sky Card,利用一张高度图向光照方向进行 Raymarching (类似于屏幕空间阴影的计算方式),从而呈现具有高精度自体投影的风格化体积云效果。同时,为了弱化该种方式生成阴影时较为明显的沿光照方向出现条纹(类似于体积光的效果,但过于锐利)现象,使用屏幕空间的 Dithering 对光照方向进行一定程度的偏移,呈现更加柔和的阴影效果。
Brush Texture Overlay
场景材质 - 整体覆盖笔刷纹理
为了加速工作流程,本项目并未为所有模型制作完整的贴图,而是参考了《黄昏沉眠街》的处理方式,将笔刷效果纹理覆盖在模型上。有别于上述游戏使用颜色固定的纹理空间贴图,本项目将笔刷纹理通过 Triplanar 投影在模型上,并可通过参数调整不同层(即笔刷纹理中不同亮度)的颜色。笔刷纹理的绘制也参考了上述游戏概念美术的风格,非金属大多使用常见的建筑墙面画法纹理,而金属使用较为复杂和锐利的纹理以模拟表面锈斑。为进一步增强细节复杂度,当材质自身光滑度高于0时,笔刷纹理也可用于调整该值。
-  持续开发中  -
Menta Toon [WIP]
Published:

Menta Toon [WIP]

Published: